#pragma once

#include "IRenderizable.h"
#include "BloqueGrua.h"
#include "BrazoGrua.h"


class Grua : public IRenderizable {
public:
	Grua(unsigned int alturaGrua, unsigned int longitudBrazo);

	virtual void init(const glm::vec3 &DireccionLuz);
	virtual void renderizar(const glm::mat4 &matVista, const glm::mat4 &matProyeccion, const glm::mat4 &matModelo) const;

	// Rota el brazo de la grua
	void rotarBrazo(float angulo);

private:
	const unsigned int m_cantPisos;
	BloqueGrua m_bloque;
	BrazoGrua m_brazo;

	// Guarda la rotacion del brazo para ser aplicada en el renderizado
	glm::mat4 m_matRotacionBrazo;
};

